package com.dingding.manager.common.vo;

import java.util.ArrayList;
import java.util.List;

import com.dingding.manager.common.beans.sys.Organization;

/**
 * 
* @ClassName: OrganizationNode 
* @Description: 递归当前公司下所有子公司的节点
* @author SUNZHICHENG 
* @date 2016年12月29日 上午9:35:05 
* @version V2.6.3
 */

public class OrganizationNode {
	
	List<Organization> list = new ArrayList<Organization>();

	public List<Organization> recurorganizationList(Integer companyId, List<Organization> organizationList) {
		
		if (!this.hasChild(companyId, organizationList)) {
			return list;
		}else{
			//如果有子节点，获取所有子节点，并递归判断子节点的子节点
			for (Organization o : organizationList) {
				if (o.getParentId() == companyId) {
					list.add(o);
					recurorganizationList(o.getOrganizationId(),organizationList);
				}
			}
			return list;
		}
	}
	
	/**
	 * 
	 * @Description: 
	 * @param companyId 公司id
	 * @param organizationList
	 * @date 2016年12月28日 下午7:24:52
	 * @author SUNZHICHENG 
	 * @since V2.6.2
	 */
	public boolean hasChild(Integer companyId, List<Organization> organizationList) {
		for (Organization o : organizationList) {
			if (o.getParentId() == companyId) {
				return true;
			}
		}
		return false;
	}
}
